#include <54func.h>
int main(int argc,char *argv[])
{
    // ./6_mmap file
    ARGS_CHECK(argc,2);
    int fd = open(argv[1],O_RDWR);
    ERROR_CHECK(fd,-1,"open");
    int ret =  ftruncate(fd,10);
    ERROR_CHECK(ret,-1,"ftruncate");

    //mmap函数，返回的是申请的内存地址的首地址指针！
    char *p = (char *)mmap(NULL,10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
    
    //mmap执行成功后！成功的将磁盘文件映射到内存地址中。因此在内存中，可以对该文件进行随机读写
    for(int i = 0;i<10;i++){
        printf("%c ",p[i]);//p[i] <==> *(p+1)   c语言语法糖
    }

    p[0] = 'o';


    return 0;
}
